home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
tcp_ip
/
rose_nos
/
rose.doc
< prev
next >
Wrap
Text File
|
1992-02-26
|
4KB
|
116 lines
K5JB IP over ROSE interface
This change to NOS has a work-around that permits ROSE circuits to be
used to carry IP frames. Normally, the ROSE system takes a cavalier
approach and casually blasts the protocol identifier (PID) into AX.25
information frames. Normally net communicates with other net stations
using un-numbered information frames (UI) but can be made to run in a
virtual circuit mode (VC, or connected) if necessary. Unfortunately,
the RATs ROSE switch prevents this from working and it is easier to
change net than convince the ROSE authors to faithfully transport what
it gets, after all IP is an INTERNET PROTOCOL, eh?
You use the rose add command to create a table of distant IP stations
and associated ROSE switches that will be used. This table is used to
catch incoming circuits from those stations and put the IP PID back as
cavalier as the ROSE switch punched it out. Syntax for this command is:
rose add <IP station's call> <ROSE switch's call>
The distant IP station's call is the AX.25 call, not the host name. Your
neighbor ROSE switch's call is its AX.25 call. An example of this command
is:
rose add kb0qj-10 k5jb-5
If you want to drop a call from the table, the command is:
rose drop <IP station's call>
Because we normally will be able to only create a single return circuit,
you should only have one rose table entry for an IP station. This is
not a serious limitation because you and the other IP station have to
coordinate both ends anyway and set your routes to match.
This takes care of incoming packets. Now to route outgoing packets, you
use two standard commands: ax25 route add, and ax25 route mode:
ax25 route add kb0qj-10 405732
ax25 route mode kb0qj-10 vc
You can have a maximum of 10 IP station/ROSE call pairs in the rose
table.
Sorry about the kludge, but I had to do something! Revenge is sweet!
Look at the users list on your neighbor switch after you establish a
session. Holy Cow! It says it doesn't know what the CC PID is, heh!
Enjoy!
Joe, K5JB
NOS Compile notes by N5OWK (Joe uses NET):
How to implement IP over ROSE:
In config.h:
Add a rose define:
...
#define ESCAPE 1 /* Allow Unix style escape on PC */
#define ROSE 1 /* Include K5JB IP over ROSE */
#undef RSPF 1 /* Include Radio Shortest Path First Protocol */
#define AXIP 1 /* digipeater via ip port 93 interface */
...
In config.c:
Add a rose command to Cmds array structure:
...
"rmdir", dormd, 0, 2, "rmdir <directory>",
"route", doroute, 0, 0, NULLCHAR,
#ifdef ROSE
"rose", dorose, 0, 0, "rose [add|drop]",
#endif
#ifdef RSPF
"rspf", dorspf, 0, 0, NULLCHAR,
#endif /* RSPF */
...
I put "rose" after "route" because I like to use "ro add" for route add.
See the file lapb.c. It has the required changes with the ROSE defines
around the affected code.
Recompile.
In your autoexec.nos add the required "rose add ipnode rosenode" entries.
Add also the ax25 path using the "ax25 route add ipnode rosenode rosetelco"
command. Follow that with the "ax25 route mode ipnode vc" command.
What you have created is an ax25 Virtual Connection route to the IP station
over the specified ROSE switch. The "rose add" command tells NOS that you
are going to modify the PID of this circuit path, because ROSE doesn't
transport PID's.
For example, station n5owk wants to talk to station k5jb over ROSE. We get
together and decide the best route. I choose k5jb-5, 405732 as my neighbor
ROSE, he chooses N0ELS-5, 405771. So my autoexec.nos entries will be:
ax25 route add k5jb-10 k5jb-5 405732
ax25 route mode k5jb-10 vc
rose add k5jb-10 k5jb-5
Station k5jb will then use:
ax25 route add n5owk-1 n0els-5 405771
ax25 route mode n5owk-1 vc
rose add n5owk-1 n0els-5
Now do a ping and see how she works.
Good luck, please echo any fixes, additions, and better ideas.